{% extends 'admin/master.html' %}
{% import 'admin/lib.html' as lib with context %}
{% import 'admin/actions.html' as actionslib with context %}

{% block body %}
    {% block breadcrums %}
        <ul class="breadcrumb">
            <li>
                <a href="{{ get_dir_url('.index_view', path=None) }}">{{ _gettext('Root') }}</a>
            </li>
            {% for name, path in breadcrumbs[:-1] %}
                <li>
                    <a href="{{ get_dir_url('.index_view', path=path) }}">{{ name }}</a>
                </li>
            {% endfor %}
            {% if breadcrumbs %}
                <li>
                    <a href="{{ get_dir_url('.index_view', path=breadcrumbs[-1][1]) }}">{{ breadcrumbs[-1][0] }}</a>
                </li>
            {% endif %}
        </ul>
    {% endblock %}

    {% block file_list_table %}
        <div class="table-responsive">
            <table class="table table-striped table-bordered model-list">
                <thead>
                <tr>
                    {% block list_header scoped %}
                        {% if actions %}
                            <th class="list-checkbox-column">
                                <input type="checkbox" name="rowtoggle" class="action-rowtoggle"/>
                            </th>
                        {% endif %}
                        <th class="col-md-1">&nbsp;</th>
                        {% for column in admin_view.column_list %}
                            <th>
                                {% if admin_view.is_column_sortable(column) %}
                                    {% if sort_column == column %}
                                        <a href="{{ sort_url(column, dir_path, True) }}"
                                           title="{{ _gettext('Sort by %(name)s', name=column) }}">
                                            {{ admin_view.column_label(column) }}
                                            {% if sort_desc %}
                                                <span class="fa fa-chevron-up glyphicon glyphicon-chevron-up"></span>
                                            {% else %}
                                                <span class="fa fa-chevron-down glyphicon glyphicon-chevron-down"></span>
                                            {% endif %}
                                        </a>
                                    {% else %}
                                        <a href="{{ sort_url(column, dir_path) }}"
                                           title="{{ _gettext('Sort by %(name)s', name=column) }}">{{ admin_view.column_label(column) }}</a>
                                    {% endif %}
                                {% else %}
                                    {{ _gettext(admin_view.column_label(column)) }}
                                {% endif %}
                            </th>
                        {% endfor %}
                    {% endblock %}
                </tr>
                </thead>
                {% for name, path, is_dir, size, date in items %}
                    <tr>
                        {% block list_row scoped %}
                            {% if actions %}
                                <td>
                                    {% if not is_dir %}
                                        <input type="checkbox" name="rowid" class="action-checkbox" value="{{ path }}"/>
                                    {% endif %}
                                </td>
                            {% endif %}
                            <td>
                                {% block list_row_actions scoped %}
                                    {% if admin_view.can_rename and path and name != '..' %}
                                        {%- if admin_view.rename_modal -%}
                                            {{ lib.add_modal_button(url=get_url('.rename', path=path, modal=True),
                                            title=_gettext('Rename File'),
                                            content='<i class="fa fa-pencil glyphicon glyphicon-pencil"></i>') }}
                                        {% else %}
                                            <a class="icon" href="{{ get_url('.rename', path=path) }}"
                                               title="{{ _gettext('Rename File') }}">
                                                <i class="fa fa-pencil glyphicon glyphicon-pencil"></i>
                                            </a>
                                        {%- endif -%}
                                    {% endif %}
                                    {%- if admin_view.can_delete and path -%}
                                        {% if is_dir %}
                                            {% if name != '..' and admin_view.can_delete_dirs %}
                                                <form class="icon" method="POST" action="{{ get_url('.delete') }}">
                                                    {{ delete_form.path(value=path) }}
                                                    {{ delete_form.csrf_token }}
                                                    <button onclick="return confirm('{{ _gettext('Are you sure you want to delete \\\'%(name)s\\\' recursively?', name=name) }}')">
                                                        <i class="fa fa-times glyphicon glyphicon-remove"></i>
                                                    </button>
                                                </form>
                                            {% endif %}
                                        {% else %}
                                            <form class="icon" method="POST" action="{{ get_url('.delete') }}">
                                                {{ delete_form.path(value=path) }}
                                                {{ delete_form.csrf_token }}
                                                <button onclick="return confirm('{{ _gettext('Are you sure you want to delete \\\'%(name)s\\\'?', name=name) }}')">
                                                    <i class="fa fa-trash glyphicon glyphicon-trash"></i>
                                                </button>
                                            </form>
                                        {% endif %}
                                    {%- endif -%}
                                {% endblock %}
                            </td>
                            {% if is_dir %}
                                <td colspan="2">
                                    <a href="{{ get_dir_url('.index_view', path)|safe }}">
                                        <i class="fa fa-folder-o glyphicon glyphicon-folder-close"></i>
                                        <span>{{ name }}</span>
                                    </a>
                                </td>
                            {% else %}
                                <td>
                                    {% if admin_view.can_download %}
                                        {%- if admin_view.edit_modal and admin_view.is_file_editable(path) -%}
                                            {{ lib.add_modal_button(url=get_file_url(path, modal=True)|safe,
                                            btn_class='', content=name) }}
                                        {% else %}
                                            <a href="{{ get_file_url(path)|safe }}">{{ name }}</a>
                                        {%- endif -%}
                                    {% else %}
                                        {{ name }}
                                    {% endif %}
                                </td>
                                {% if admin_view.is_column_visible('size') %}
                                    <td>
                                        {{ size|filesizeformat }}
                                    </td>
                                {% endif %}
                            {% endif %}
                            {% if admin_view.is_column_visible('date') %}
                                <td>
                                    {{ timestamp_format(date) }}
                                </td>
                            {% endif %}
                        {% endblock %}
                    </tr>
                {% endfor %}
            </table>
        </div>
    {% endblock %}
    {% block toolbar %}
        <div class="btn-toolbar">
            {% if admin_view.can_upload %}
                <div class="btn-group">
                    {%- if admin_view.upload_modal -%}
                        {{ lib.add_modal_button(url=get_dir_url('.upload', path=dir_path, modal=True),
                                      btn_class="btn btn-default btn-large",
                                      content=_gettext('Upload File')) }}
                    {% else %}
                        <a class="btn btn-default btn-large"
                           href="{{ get_dir_url('.upload', path=dir_path) }}">{{ _gettext('Upload File') }}</a>
                    {%- endif -%}
                </div>
            {% endif %}
            {% if admin_view.can_mkdir %}
                <div class="btn-group">
                    {%- if admin_view.mkdir_modal -%}
                        {{ lib.add_modal_button(url=get_dir_url('.mkdir', path=dir_path, modal=True),
                                      btn_class="btn btn-default btn-large",
                                      content=_gettext('Create Directory')) }}
                    {% else %}
                        <a class="btn btn-default btn-large"
                           href="{{ get_dir_url('.mkdir', path=dir_path) }}">{{ _gettext('Create Directory') }}</a>
                    {%- endif -%}
                </div>
            {% endif %}
            {% if actions %}
                <div class="btn-group">
                    {{ actionslib.dropdown(actions, 'dropdown-toggle btn btn-default btn-large') }}
                </div>
            {% endif %}
        </div>
    {% endblock %}

    {% block actions %}
        {{ actionslib.form(actions, get_url('.action_view')) }}
    {% endblock %}

    {%- if admin_view.rename_modal or admin_view.mkdir_modal
           or admin_view.upload_modal or admin_view.edit_modal -%}
        {{ lib.add_modal_window() }}
    {%- endif -%}
{% endblock %}

{% block tail %}
    {{ super() }}
    {{ actionslib.script(_gettext('Please select at least one file.'),
                         actions,
                         actions_confirmation) }}
{% endblock %}
